Wireless devices or mobile stations (MS) such as cellular handsets transmit and receive speech waveforms. Baseband signal processing internal to such a handset is generally divided into two principal components, a vocoder and a modem. The function of the vocoder is to perform source encoding and decoding on speech waveforms. Source coding removes redundancy from the waveform and reduces the bandwidth (or equivalently the bit-rate) in order to transmit the waveform in real-time. The modem typically includes a channel encoder/decoder and a channel modulator/demodulator. The function of the channel coder is to increase redundancy in the transmitted signal to enhance the robustness of the transmitted signal. The channel modulator/demodulator converts the data stream into a format suitable for transmission in a bandlimited radio frequency (RF) channel.
A number of different wireless protocols exist. One common protocol is referred to as global system for mobile communications (GSM). In a GSM system, the vocoder operates on blocks of speech data that are 20 milliseconds (ms) in duration. The modem transmits and receives data every 4.615 ms. Since the speech encoder (i.e., vocoder) serves as a data source to the channel encoder/modulator (i.e., modem) and the speech decoder (i.e., vocoder) serves as the data sink for the channel demodulator/decoder (i.e., modem), the vocoder and modem should be maintained in synchronization.
Further, the speech encoder should deliver data to the channel encoder with sufficient margin to complete channel encoding and modulation operations before the time at which the data are transmitted over the air. Further complicating the issue are limits on the round-trip delay of the overall communications link. Hence, the vocoder cannot deliver the data too early lest the delay budget (such as that set forth by the European Telecommunications Standards Institute (ETSI)) be violated, and cannot deliver data too late lest the data be discarded. As a practical matter, the later the vocoder delivers data to the channel encoder, the harder a digital signal processor (DSP) must work to complete all signal processing on schedule, thus creating a greater system load.
A suitable analogy to the synchronization problem is the delivery of fruit via a train. Consider the case of freshly picked apples. If they are brought to the train station too early, they may spoil before the train arrives. In contrast, if the apples are brought to the train station too late, the train may depart prior to delivery of the apples to the station. Thus the delivery of the apples should be maintained in synchronization with the schedule of the train, just as the vocoder and modem should be maintained in synchronization.
If the modem and vocoder fall out of synchronization, the effects can be severe, including but not limited to: the DSP peak load may exceed 100%, resulting in the failure of other DSP-based functions (or even system crashes); speech buffers may wrap-around before data can be processed for transmission, distorting speech with a ‘metallic-like’ quality; or the ETSI-defined delay budget may be exceeded.
The synchronization problem is further complicated by handset mobility, which can result in a Doppler shift of received frequencies. If the handset is in a car or other conveyance with a component of motion radial to the serving cell, then the received frequency from the base station will be shifted up or down. The handset compensates for this Doppler shift by adjusting its internal crystal to null the perceived offset. From the modem's perspective, system timing will be too high or too slow and without correction, the handset will transmit a little earlier or later on each successive data frame. However, the modem compensates for the temporal offset by tracking the center point of each received burst from the base station and manually forces temporal alignment to match the location of the received bursts. In this manner, the modem can stay on schedule even in the presence of significant Doppler shifts.
The vocoder, on the other hand, has no inherent mechanism for pacing its operation to compensate for errors in the crystal frequency. Hence, the vocoder will operate on a speech stream to and from the modem that is running slightly too fast or too slow. Over time, errors accumulate, and eventually the modem and vocoder will drop out of synchronization.
Accordingly, methods and apparatus to maintain synchronization between modem and vocoder would improve performance of a mobile station.